package com.nightpiter.view;

import com.nightpiter.model.objects.Station;
import com.nightpiter.view.Calculator.Mode;

import android.view.View;

/**
 * @author Eldar Abusalimov (eldar.abusalimov@gmail.com)
 */
public interface Screen {

	/**
	 * Listener interface. Should be implemented by any class that would receive
	 * notifications about MetroScreenView event fires
	 * 
	 * @author Eldar Abusalimov (eldar.abusalimov@gmail.com)
	 */
	public interface Listener {

		public void onStationRetrieved(Station[] station);

	}

	/**
	 * The Screen had been attached to the application's View, or
	 * MetroDrawerWrapper has already prepared a new drawer, so reset a screen
	 * and request a new model bounds
	 */
	public void prepare();

	public void redraw(boolean force);

	public void showZoom();

	public View getView();
	
	public Mode getMode();

	public void setListener(Listener listener);

}
